package testPackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

import java.util.concurrent.TimeUnit;

/**
 * step by step 14 非文本按键
 * 为了在文本框中按下Enter键，可以将Keys.ENTER或Keys.RETURN传递给该文本框的sendKeys方法。
 * 例：
 * WebElement searchBox = driver.findElement(By.id("fk-top-search-box"));
 * searchBox.sendKeys("Keys.ENTER");
 * step by step 15 刷新网页的方法
 * 1、driver.navigate().refresh(); ---最优选、最广泛
 * 2、driver.get(driver.getCurrentUrl());
 * 3、driver.navigate().to(driver.getCurrentUrl());
 * 4、在任何文本框中按下F5
 * driver.findElement(By.textboxLocator).sendKeys(Keys.F5);
 * 5、传递F5的ASCII码“\uE035”
 * driver.findElement(By.textboxLocator).sendKeys("\uE035");
 * step by step 16 设置浏览器窗口大小
 * int width = 600;
 * int height = 400;
 * Dimension dimension = new Dimension(width,height);
 * driver.manage().window().setSize(dimension);
 * 最大化浏览器：driver.manage().window().maximize();
 * 最小化浏览器(将浏览器定位到不在可视区域内)：driver.manage().window().setPostion(new Point(0,-1000));
 * step by step 16 浏览器中的前进与后退
 * 后退：driver.navigate().back();
 * 前进：driver.navigate().forward();
 * step by step 17 键盘交互操作
 * Actions类实现处理复杂的键盘交互操作
 * keyDown（）
 * keyUp()
 * sendKeys()
 * step by step 18 鼠标交互的Actions方法
 * 1、click（）-单击
 * 2、clickAndHold（）-不释放鼠标按键的情况下单击
 * 3、contextClick（） -执行右键单击
 * 4、doubleClick（） -执行双击操作
 * 5、dragAndDrop（元素，元素） -偏移元素    dragAndDropBy(element,x,y) -偏移量（x,y）
 * 6、moveByOffset(int xOffset,int yOffset) -指定偏移到特定位置
 * 7、moveToElement(WebElement toElement) -鼠标指针移动到参数元素
 * 8、moveToElement(WebElement toElement，int xOffset,int yOffset)
 * -鼠标指针从元素左上角移动指定的偏移量
 * 9、release() -当前鼠标指针位置释放按下的鼠标左键
 * 10、release（WebElement onWelement） -释放指定元素上按下的鼠标左键
 */
public class Selenium15 {
    public static void main(String[] args) {
        String str = "D:\\\\Enviroments\\\\geckodriver-v0.26.0-win64\\\\chromedriver.exe";
        System.setProperty("webdriver.chrome.driver", str);
        WebDriver driver = new ChromeDriver();
        //等待10s
        driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
        driver.get("https://tb.alicdn.com/snapshot/index.html");
        driver.manage().window().maximize();
        //鼠标执行右键单击
        WebElement element = driver.findElement(By.xpath("//*[@id=\"J_TSearchForm\"]/div[1]/button"));
        Actions rightClick = new Actions(driver).contextClick(element);
        //执行操作
        rightClick.build().perform();
    }

}
